package io.qar.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.qar.commons.mybatis.handler.AesTypeHandler;
import io.qar.commons.mybatis.handler.DateautoTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Getter;
import org.springframework.format.annotation.DateTimeFormat;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * qar文件目标源配置表
 *
 * @author yyyyjinying
 * @since 3.0 2023-10-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value="cfg_ftp_setting", autoResultMap = true)
public class CfgFtpSettingEntity {
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId
    private Long id;
    /**
     * 源ip
     */
    private String srcIp;
    /**
     * 源用户名
     */
    private String srcUsername;
    /**
     * 源用户密码
     */
    @TableField(typeHandler = AesTypeHandler.class)
    private String srcPassword;
    /**
     * 源端口
     */
    private Integer srcPort;
    /**
     * 源文件路径
     */
    private String srcFilePath;

    /**
     * 源文件名
     */
    private String srcFilename;
    /**
     * 源文件后缀
     */
    private String srcFileSuffix;
    /**
     * 源文件大小
     */
    private Long fileMinSize;
    /**
     * 目标IP
     */
    private String trgIp;
    /**
     * 目标用户名
     */
    private String trgUsername;
    /**
     * 目标用户密码
     */
    @TableField(typeHandler = AesTypeHandler.class)
    private String trgPassword;
    /**
     * 目标端口
     */
    private Integer trgPort;
    /**
     * 目标路径
     */
    private String trgFilePath;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@TableField(typeHandler = DateautoTypeHandler.class)
	// @TableField(fill = FieldFill.INSERT, typeHandler = DateautoTypeHandler.class)
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 * 更新时间
	 */
	// @TableField(fill = FieldFill.INSERT_UPDATE, typeHandler = DateautoTypeHandler.class)
	@TableField(typeHandler = DateautoTypeHandler.class)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}